software application java train radius3 c++ it-consulting .net railway rail requirements engineering j2ee rail practice lead software development railroad development requirements management thin-client change management